1. Field of the Invention
This invention relates to a system and method of offloading processing functions between devices of a computer system and more particularly to the exchange of data from one peripheral device to another peripheral device for processing.
2. Description of the Related Art
Data acquisition (DAQ) typically includes acquiring and processing of data in a computer system. Some DAQ applications may involve in-line, real time, processing of data. There may be several motivations for the in-line processing. Among these motivations may be real time and deterministic demands of the application itself. It is not uncommon, however, for some computer based DAQ systems to suffer from performance issues. Some of the factors limiting performance may include the overhead of the operating system (OS) and other applications running on the host processor, the lack of deterministic execution in a non-real time OS, the lack of computer power for the specified application and computer power that does not scale with the demands of the application etc.
Several solutions have been implemented to try to get around these issues. In some cases, at least a portion of processing is done on a DAQ device (e.g., a DAQ board), or similar computer device. In some situations the processing load is offloaded from a device to a host processor or from a host processor to a device so that processing may be accomplished in a timely and deterministic manner. Some of these solutions may involve some form of a dedicated co-processor that may offload computational tasks from a host processor in a way that helps to make the application more deterministic and efficient. These solutions, however, are generally limited to transfer of data between a device and the host processor, and typically rely on fixed connections between the co-processor and I/O channels that do not provide a flexible solution. Accordingly it is desirable to provide a system and method for the transfer and processing of data between devices that may provide a flexible/customizable solution.